package com.xnyzc.lhy.mis.entity.activity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.time.LocalDateTime;
import java.time.LocalTime;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

/**
*
* 活动定义
*
* @author haoyfa
* @since 2019-12-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("oa_sys_activity_def")
@ApiModel(value="OaSysActivityDef对象", description="活动定义")
public class OaSysActivityDef implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @TableId(value="id", type = IdType.INPUT)
    private Long id;

    @ApiModelProperty(value = "活动编号")
    private String activityNo;

    @ApiModelProperty(value = "类型。00=司机记录；01=司机招募。")
    private String category;

    @ApiModelProperty(value = "城市code集合，用“,”进行分割。")
    private String city;

    @ApiModelProperty(value = "活动状态。00=未开始；01=生效中；02=已结束")
    private String status;

    @ApiModelProperty(value = "活动名称")
    private String name;

    @ApiModelProperty(value = "活动描述")
    private String description;

    @ApiModelProperty(value = "司机激活几日内")
    private Integer withinDate;

    @ApiModelProperty(value = "统计周期天数")
    private Integer dateNumber;

    @ApiModelProperty(value = "开始时间")
    private Date beginTime;

    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    @ApiModelProperty(value = "有效时间开始")
    private LocalTime effectiveTimeStart;

    @ApiModelProperty(value = "有效时间结束")
    private LocalTime effectiveTimeEnd;

    @ApiModelProperty(value = "结算方式。00=次日发放；01=次周发放。")
    private String balanceType;

    @ApiModelProperty(value = "周几发放")
    private Integer balanceWeek;

    @ApiModelProperty(value = "发放时间")
    private LocalTime balanceTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "用户来源")
    private String tag;

    @ApiModelProperty(value = "扩展字段1")
    private String expand1;

    @ApiModelProperty(value = "扩展字段2")
    private String expand2;

    @ApiModelProperty(value = "扩展字段3")
    private String expand3;

    @ApiModelProperty(value = "版本号")
    @Version
    private Long version;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    public static final String ID = "id";

    public static final String CATEGORY = "category";

    public static final String CITY = "city";

    public static final String STATUS = "status";

    public static final String NAME = "name";

    public static final String DESC = "desc";

    public static final String WITHIN_DATE = "within_date";

    public static final String DATE_NUMBER = "date_number";

    public static final String BEGIN_TIME = "begin_time";

    public static final String END_TIME = "end_time";

    public static final String EFFECTIVE_TIME_START = "effective_time_start";

    public static final String EFFECTIVE_TIME_END = "effective_time_end";

    public static final String BALANCE_TYPE = "balance_type";

    public static final String BALANCE_WEEK = "balance_week";

    public static final String BALANCE_TIME = "balance_time";

    public static final String REMARK = "remark";

    public static final String TAG = "tag";

    public static final String EXPAND1 = "expand1";

    public static final String EXPAND2 = "expand2";

    public static final String EXPAND3 = "expand3";

    public static final String VERSION = "version";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

}
